1. Technical Field
This invention relates to a method and system for maximizing connectivity between each node among a grouping of nodes in a network computing environment through maximizing connectivity for each member of a clique in a graph. More specifically, the invention relates to systematic removal of vertices in a graph that have an inefficient connectivity count.
2. Description of the Prior Art
A connectivity count is a mathematical relationship illustrating interconnections between objects in a group. In a computing environment, connectivity between server nodes in a cluster enhances communication and operating efficiency of the cluster. Total connectivity among nodes is obtained when each node in a grouping of nodes is connected to each other node in the grouping. This grouping is known as a clique. In order to maintain an efficient operating cluster, it may be desirable to remove a node from the cluster that it not completely connected to each other node in the cluster.
There are several known methods for determining connectivity among nodes in a cluster. One known method is to determine connectivity through a build approach. FIG. 1 is a flow chart (10) illustrating a generic build approach algorithm. The process is initiated with computing a connectivity count of all the vertices in the graph (12). Thereafter, the vertices in the graph are sorted (14), and a clique set within the graph is initialized as a null set (16). A test is subsequently conducted to determine if the graph is empty (18). If the result of the test at step (18) is positive, the clique is returned (20). However, if the result of the test at step (18) is negative, the vertex with the highest connectivity is selected and removed from the graph (22). Thereafter, another test is conducted to determine if the removed vertex is connected with all of the vertices in the graph (24). A positive response to the test at step (24), will result in adding the vertex to the graph (26), followed by a return to step (18). Alternatively, a negative response to the test at step (24), will result in a return to step (18). The build algorithm, as demonstrated in FIG. 1, is initiated with an empty list of nodes. A first node is selected, and a search is conducted to determine which other nodes are connected to the first node selected. This approach is continued for each node in the cluster. A graph is built based upon the connectivity data collected for each node, thereby allowing the operator to determine connectivity for each node in the computing environment. The build approach iteratively adds nodes to build a clique with maximum connectivity among the nodes. One limitation associated with the build approach is the time constraint of determining connectivity for each node in the cluster on an individual basis. Accordingly, the build approach is a deferred algorithm for determining connectivity among nodes in a cluster.
There is therefore a need for an efficient method and system to determine connectivity among peer nodes in a cluster.